package org.ehe.business.workstation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.ehe.business.workstation.domain.Workstation;
import org.ehe.business.workstation.domain.bo.WorkstationBo;
import org.ehe.business.workstation.domain.vo.WorkstationVo;
import org.ehe.common.mybatis.core.page.PageQuery;
import org.ehe.common.mybatis.core.page.TableDataInfo;

import java.util.List;

/**
 * 工位管理Service接口
 * 
 * @author zhangnn
 * @date 2025-10-23
 */
public interface IWorkstationService extends IService<Workstation> {

    /**
     * 分页查询工位列表
     * 
     * @param bo        查询条件
     * @param pageQuery 分页参数
     * @return 工位分页列表
     */
    TableDataInfo<WorkstationVo> queryPageList(WorkstationBo bo, PageQuery pageQuery);

    /**
     * 查询工位列表
     * 
     * @param bo 查询条件
     * @return 工位列表
     */
    List<WorkstationVo> queryList(WorkstationBo bo);

    /**
     * 新增工位
     * 
     * @param bo 工位信息
     * @return 是否成功
     */
    Boolean insertWorkstation(WorkstationBo bo);

    /**
     * 修改工位
     * 
     * @param bo 工位信息
     * @return 是否成功
     */
    Boolean updateWorkstation(WorkstationBo bo);

    /**
     * 删除工位
     * 
     * @param ids 工位ID列表
     * @return 是否成功
     */
    Boolean deleteWorkstations(List<Long> ids);

    Workstation selectByCode(String workstationCode);
}
